home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
wb
/
czesc_1
/
deft ii
/
sources
/
deft_ii.em
< prev
next >
Wrap
Text File
|
1994-11-14
|
4KB
|
185 lines
OPT OSVERSION = 37
/*/////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////// Macro files /////
///////////////////////////////////////////////////////////////////////////////
MACROS 'MUI.pma'
*/
->*****
->** External modules
->*****
MODULE 'locale'
MODULE 'muimaster' , 'libraries/mui'
MODULE 'tools/boopsi' , 'tools/installhook'
MODULE 'icon'
MODULE '*Defs'
MODULE '*GUI_MUIB'
MODULE '*Locale'
MODULE '*Errors'
MODULE '*PrefsFile'
MODULE '*DefaultTools'
MODULE '*Arexx'
MODULE '*GUI'
MODULE '*Work'
->*****
->** Error handling
->*****
RAISE "MEM" IF String() = NIL
->*****
->** Global variables
->*****
DEF deftII : PTR TO obj_app
DEF cat : PTR TO catalog_DeftII
DEF modified : LONG
DEF current_edited_path = NO_CURRENT_EDITED_PATH
DEF current_edited_def_tool = NO_CURRENT_EDITED_DEF_TOOL
/******************/
/* Main procedure */
/******************/
PROC main() HANDLE
DEF running = TRUE , result_DoMethod , signal
DEF file_requester_active
DEF display : obj_display
DEF icon = NIL
localebase := OpenLibrary( 'locale.library' , 0 )
NEW cat.create()
cat.open( NIL , NIL )
IF ( muimasterbase := OpenLibrary( 'muimaster.library' , MUIMASTER_VMIN ) ) = NIL THEN Throw( "LIB" , "muim" )
IF ( iconbase := OpenLibrary( 'icon.library' , 0 ) ) THEN icon := GetDiskObject( 'PROGDIR:Deft II' ) ELSE Throw( "LIB" , "icon" )
installhook( display.display_def_tool , {display_def_tool} )
installhook( display.compare_def_tool , {compare_def_tool} )
installhook( display.str_obj , {open_new_def_tools_list} )
installhook( display.obj_str , {close_new_def_tools_list} )
NEW deftII
IF deftII.create( icon , init_arexx() , display ) = NIL THEN Throw( "MUI" , Mui_Error() )
init_gui()
load_prefs()
init_def_tools()
init_go()
-> Main loop
WHILE running
result_DoMethod := domethod( deftII.app , [ MUIM_Application_Input , {signal} ] )
SELECT result_DoMethod
CASE ID_BT_ABOUT
Mui_RequestA( deftII.app , deftII.wi_main , NIL ,
cat.msg_About_DeftII.getstr() ,
cat.msg_OK.getstr() ,
cat.msg_About_Text.getstr() ,
NIL )
CASE MUIV_Application_ReturnID_Quit
get( deftII.pa_path , MUIA_Popasl_Active , {file_requester_active} )
IF file_requester_active
deftII_error( cat.msg_File_Requester_Still_Opened.getstr() )
ELSE
IF modified
IF deftII_request( cat.msg_Really_Quit.getstr() ) = 1 THEN running := FALSE
ELSE
running := FALSE
ENDIF
ENDIF
ENDSELECT
IF ( signal AND running ) THEN Wait( signal )
ENDWHILE
deftII.dispose()
IF icon THEN FreeDiskObject( icon )
IF iconbase THEN CloseLibrary( iconbase )
CloseLibrary( muimasterbase )
cat.close()
IF localebase THEN CloseLibrary( localebase )
EXCEPT
SELECT exception
CASE "LIB"
SELECT exceptioninfo
CASE "muim"
deftII_error_simple( cat.msg_Missing_Muimaster_Library.getstr() )
CASE "icon"
deftII_error_simple( cat.msg_Missing_Icon_Library.getstr() )
ENDSELECT
CASE "MEM"
deftII_error( cat.msg_Not_Enough_Memory.getstr() )
CASE "MUI"
SELECT exceptioninfo
CASE MUIE_OutOfMemory
deftII_error_simple( cat.msg_Not_Enough_Memory.getstr() )
CASE MUIE_OutOfGfxMemory
deftII_error_simple( cat.msg_Not_Enough_Chip_Memory.getstr() )
CASE MUIE_MissingLibrary
deftII_error_simple( cat.msg_Missing_Library.getstr() )
CASE MUIE_NoARexx
deftII_error_simple( cat.msg_Arexx_Port.getstr() )
DEFAULT
deftII_error_simple( cat.msg_Internal_Problem.getstr() )
ENDSELECT
ENDSELECT
IF deftII THEN deftII.dispose()
IF icon THEN FreeDiskObject( icon )
IF iconbase THEN CloseLibrary( iconbase )
IF muimasterbase THEN CloseLibrary( muimasterbase )
cat.close()
IF localebase THEN CloseLibrary( localebase )
CleanUp( 100 )
ENDPROC